package org.jeecgframework.web.service;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.common.model.json.Highchart;
import org.jeecgframework.core.common.service.CommonService;
import org.jeecgframework.web.system.pojo.base.CbsEsPlanIpEntity;

public interface CbsEsPlanIpServiceI extends CommonService{
	
 	public <T> void delete(T entity);
 	
 	public <T> Serializable save(T entity);
 	
 	public <T> void saveOrUpdate(T entity);
 	
 	/**
	 * 默认按钮-sql增强-新增操作
	 * @param id
	 * @return
	 */
 	public boolean doAddSql(CbsEsPlanIpEntity t);
 	/**
	 * 默认按钮-sql增强-更新操作
	 * @param id
	 * @return
	 */
 	public boolean doUpdateSql(CbsEsPlanIpEntity t);
 	/**
	 * 默认按钮-sql增强-删除操作
	 * @param id
	 * @return
	 */
 	public boolean doDelSql(CbsEsPlanIpEntity t);

	/**@author xiul
	 * 2016-10-11 下午3:49:23
	 * Description 判断是否可以生成设备计划巡检计划
	 */
	public void judgeCanGenerateEsIp(HttpServletRequest request, AjaxJson j);

	/**@author xiul
	 * 2016-10-11 下午3:59:46
	 * Description 计算生成设备计划巡检计划
	 * @param j 
	 */
	public void calcEsPlanIp(AjaxJson j, String departId);

	/**@author xiul
	 * 2016-10-18 下午8:24:44
	 * Description 生成巡检计划页 - 点击查看 datagrid
	 * @param dataGrid 
	 */
	public void queryDatasForDatagridOfView(HttpServletRequest request, DataGrid dataGrid);

	/**@author xiul
	 * 2016-10-19 上午10:21:00
	 * Description 初始加载 highchart数据 
	 * @param j
	 * @param request 包含{ 巡检单位Id，数据来源 }
	 */
	public void getCipChartData(AjaxJson j, HttpServletRequest request);

	/**@author xiul
	 * 2016-10-19 下午5:10:48
	 * Description 点击列表中查看 查询数据
	 * @param dataGrid 
	 */
	public void queryViewDetialData(HttpServletRequest request, DataGrid dataGrid);

	/**@author xiul
	 * 2016-10-19 下午6:26:13
	 * Description 修改 影院下的设备的巡检月份 或 巡检单位（以影院为单位）
	 */
	public void getUpdateData(HttpServletRequest req);

	/**@author xiul
	 * 2016-10-26 下午2:44:47
	 * Description 修改 设备的 计划月份 或 巡检服务商 
	 */
	public void updateCip(AjaxJson j, HttpServletRequest request);

	/**@author xiul
	 * 2016-10-26 下午4:00:24
	 * Description 根据已有的数据生成巡检计划
	 */
	public void genarateIp(AjaxJson j, HttpServletRequest request);

	/**@author xiul
	 * 2016-12-1 下午6:44:40
	 * Description 首页 - 巡检情况图表 堆叠柱状图 
	 */
	public List<Highchart> queryHomePageEsIpHighchartData(HttpServletRequest request);

	/**@author xiul
	 * 2016-11-16 下午2:41:00
	 * Description 导出excel
	 */
	public void exportCips(HttpServletRequest request, HttpServletResponse response, AjaxJson j);
}
